Peripheral Component Interconnect express (PCIe) is a serial bus standard for connecting a computer to one or more peripheral devices. PCIe utilizes a layered protocol having a transaction layer, a data link layer, and a physical (PHY) layer. The data link layer includes a media access control (MAC) layer. The PHY layer connects the MAC layer and a physical medium, such as an optical cable or a copper cable for communication between the MAC layer and external physical devices. The MAC layer is responsible for moving data packets to and from one Network Interface Card (NIC) in a computer to another across a shared channel.
In some instances, it may be desirable to monitor data packets flowing through a PCIe device that is actively communicating with the NIC. However, the data packets cannot be directly monitored in prior art PCIe devices without interrupting communication with the NIC. Improvements to PCIe devices are desired.